home *** CD-ROM | disk | FTP | other *** search
- #
- /*
- ** SYMBOL.H -- definition of internal symbols.
- **
- ** Version:
- ** @(#)symbol.h 8.1 12/31/84
- */
-
- # ifndef AND
-
-
-
- # define AND 'a'
- # define OR 'o'
- # define UOP 'U' /* UNARY OPERATORS */
- # define opPLUS 0
- # define opMINUS 1
- # define opNOT 2
- # define opATAN 3
- # define opCOS 4
- # define opGAMMA 5
- # define opLOG 6
- # define opASCII 7
- # define opSIN 8
- # define opSQRT 9
- # define opABS 10
- # define opEXP 11
- # define opINT1 12
- # define opINT2 13
- # define opINT4 14
- # define opFLOAT4 15
- # define opFLOAT8 16
-
- # define BOP 'B' /* BINARY OPERATORS */
- # define opADD 0
- # define opSUB 1
- # define opMUL 2
- # define opDIV 3
- # define opPOW 4
- # define opEQ 5
- # define opNE 6
- # define opLT 7
- # define opLE 8
- # define opGT 9
- # define opGE 10
- # define opMOD 11
- # define opCONCAT 12
-
- # define AOP 'A' /* AGGREGATE OPERATORS */
- # define opCOUNT 0
- # define opCOUNTU 1
- # define opSUM 2
- # define opSUMU 3
- # define opAVG 4
- # define opAVGU 5
- # define opMIN 6
- # define opMAX 7
- # define opANY 8
-
- # define COP 'C' /* CONSTANT OPERATORS */
- # define BADCOP -1 /* error return on lookup */
- # define opDBA 0
- # define opUSERCODE 1
- # define opDATE 2
- # define opTIME 3
-
-
- # define RESDOM 'r' /* RESULT DOMAIN NUMBER */
- # define VAR 'v' /* VARIABLE */
- # define S_VAR 's' /* variable for which
- * a substitution has been done, * Only occurs in the ovqp-decomp
- * merged process.
- */
-
- # define QMODE 'Q' /* QUERY MODE */
- # define mdRETTERM 0 /* retrieve to terminal, used by decomp-ovqp */
- # define mdRETR 1 /* retrieve, into rel perhaps */
- # define mdAPP 2 /* append to rel */
- # define mdREPL 3 /* replace in rel */
- # define mdDEL 4 /* delete from rel */
- # define mdCOPY 5 /* copy into/from rel */
- # define mdCREATE 6 /* create new relation */
- # define mdDESTROY 7 /* destroy old relation */
- # define mdHELP 8 /* print info on relation */
- # define mdINDEX 9 /* create secondary index */
- # define mdMODIFY 10 /* change access structure of rel */
- # define mdPRINT 11 /* print rel on terminal */
- # define mdRANGE 12 /* declare range variable */
- # define mdSAVE 13 /* save relation date */
- /* unused 14 unused */
- # define mdRET_UNI 15 /* retrieve unique */
- # define mdVIEW 16 /* extra info for view def, to qrymod */
- # define mdUPDATE 17 /* update processor */
- # define mdRESETREL 18 /* modify to truncated */
- # define mdDISPLAY 19 /* dump qm decl */
- # define mdNETQRY 20 /* reserved for distr ingres */
- # define mdMOVEREL 21 /* reserved for distr ingres */
- # define mdPROT 22 /* extra info for permit def, to qrymod */
- # define mdINTEG 23 /* extra info for integrity def, to qrymod */
- # define mdDCREATE 24 /* reserved for distr ingres */
- # define mdWAITQRY 25 /* reserved for distr ingres */
- # define mdREMQM 26 /* remove permit integrity definition */
- # define mdDISTRIB 27 /* reserved for distr ingres */
- # define mdKSORT 28 /* ksort function */
- # define mdSYSFUNC 29 /* sysmod routine */
- # define mdSTOP 30 /* extra info for Heidi */
-
- /* special modes used only for control module communication */
- # define mdQRY 1 /* general query call */
- # define mdDECOMP 2 /* call decomp */
- # define mdPARSER 3 /* parser module */
-
- # define ROOT 'R' /* ROOT of QUERY TREE */
- # define QLEND 'q' /* NULL branch at end of QUAL */
- # define TREE 'T' /* SIGNALS BEGINNING of TREE */
- # define BYHEAD 'H' /* BY LIST HEAD */
- # define AGHEAD 'h' /* AGGREGATE HEAD */
-
- # define SITE 'S' /* reserved for distr ingres */
-
- # define INT 'i' /* INTEGER CONSTANT */
- # define FLOAT 'f' /* FLOATING POINT CONSTANT */
- # define CHAR 'c' /* CHARACTER CONSTANT */
- # define BINARY 'b' /* BINARY CONSTANT (used in printup */
- # define TUPLE 't' /* TUPLE (used in ctlmod) */
-
-
- # define RESULTVAR '=' /* RESULT RELATION VAR NO. */
- # define SOURCEID '<' /* SOURCE RELATION NAME(S) */
- # define RESULTID '>' /* RESULT RELATION NAME */
-
-
-
-
- # define CHANGESTRAT 'g' /* FOR OVQP TO DEVISE NEW STRATEGY */
- # define USERQRY 'u' /* Tells OVQP result rel is a user rel */
- # define EXIT 'x' /* tells OVQP that query is done */
- # define ACK 1 /* OVQP should write an acknowledging EOP */
- # define NOACK 2 /* OVQP should not acknowledge */
- # define RUBACK 3 /* internal mode for DECOMP */
- # define REOPENRES 'O' /* OVQP should reopen result relation */
- # define RETVAL 'V' /* RETURN FROM OVQP */
- # define UPDATE -3 /* tells DECOMP to call update */
- # define NOUPDATE -2 /* tells DECOMP not to call update */
- # define EMPTY -1
- # define NONEMPTY 0
- # define EOTUP 'Z' /* end of tuple symbol send by OVQP to equel */
-
- /* The following are pattern matching symbols used by ovqp */
- # define PAT_ANY 1 /* matches 0 or more char */
- # define PAT_ONE 2 /* matches any one char */
- # define PAT_LBRAC 3 /* left bracket for char groupings */
- # define PAT_RBRAC 4 /* right bracket for char groupings */
- # define PAT_GLOB 5 /* indicates global string matching */
- # define PAT_SPEC 6 /* matches 0 or more char and indexes them */
-
- /* The following are interval delimiter types used by ovqp */
- # define OPEN 0
- # define CLOSED 1
-
- # endif AND
-